package miaofusdk

/**
招行支付的订单数据
*/
type LinkpayOrder struct {
	Id              int    `json:"id,omitempty"`
	OutTradeNo      string `json:"out_trade_no,omitempty"`
	PayAmount       int    `json:"pay_amount,omitempty"`
	BuyerUserName   string `json:"buyer_user_name,omitempty"`
	BuyerUserId     string `json:"buyer_user_id,omitempty"`
	DownTradeNo     string `json:"down_trade_no,omitempty"`
	ChannelTradeNo  string `json:"channel_trade_no,omitempty"`
	ActualPayAmount int    `json:"actual_pay_amount,omitempty"`
	ReceiptAmount   int    `json:"receipt_amount,omitempty"`
	MchCoupon       int    `json:"mch_coupon,omitempty"`
	ChnCoupon       int    `json:"chn_coupon,omitempty"`
	PayTime         string `json:"pay_time,omitempty"`
	CreateTime      string `json:"create_time,omitempty"`
	PayResult       string `json:"pay_result,omitempty"`
	PromotionList   string `json:"promotion_list,omitempty"`
	BankType        string `json:"bank_type,omitempty"`
	LinkMchId       string `json:"link_mch_id,omitempty"`
	OrgCode         string `json:"org_code,omitempty"`
	ShopCode        string `json:"shop_code,omitempty"`
	StoreCode       string `json:"store_code,omitempty"`
	BarCode         string `json:"bar_code,omitempty"`
	Subject         string `json:"subject,omitempty"`
	Attach          string `json:"attach,omitempty"`
	TerminalCode    string `json:"terminal_code,omitempty"`
	OperId          string `json:"oper_id,omitempty"`
	GoodsDetail     string `json:"goods_detail,omitempty"`
	TradeType       string `json:"trade_type,omitempty"`
	StoreName       string `json:"store_name,omitempty"`
	TradeChannel    string `json:"trade_channel,omitempty"`
	CodeUrl         string `json:"code_url,omitempty"`
	CancelTime      string `json:"cancel_time,omitempty"`
	IsRollBack      bool   `json:"is_roll_back,omitempty"`
	FrontUrl        string `json:"front_url,omitempty"`
	VoucherOrderNum string `json:"voucher_order_num,omitempty"`
}

type LinkpayRefundOrder struct {
	Id                   int    `json:"id,omitempty"`
	OutTradeNo           string `json:"out_trade_no,omitempty"`
	RefundTradeNo        string `json:"refund_trade_no,omitempty"`
	TotalAmount          int    `json:"total_amount,omitempty"`
	RefundAmount         int    `json:"refund_amount,omitempty"`
	TerminalCode         string `json:"terminal_code,omitempty"`
	ChannelRefundTradeNo string `json:"channel_refund_trade_no,omitempty"`
	TimeEnd              string `json:"time_end,omitempty"`
	RefundTime           string `json:"refund_time,omitempty"`
	TradeType            string `json:"trade_type,omitempty"`
	LinkMchId            string `json:"link_mch_id,omitempty"`
	StoreCode            string `json:"store_code,omitempty"`
	ShopCode             string `json:"shop_code,omitempty"`
	OrgCode              string `json:"org_code,omitempty"`
	StoreName            string `json:"store_name,omitempty"`
	TradeChannel         string `json:"trade_channel,omitempty"`
	TradeStatus          string `json:"trade_status,omitempty"`
	RefundResult         string `json:"refund_result,omitempty"`
	RefundOperId         string `json:"refund_oper_id,omitempty"`
	RefundReason         string `json:"refund_reason,omitempty"`
}

type RespLinkpayOrderDetail struct {
	//订单数据
	Order LinkpayOrder `json:"order,omitempty"`
	//这笔订单下包含的所有退款成功和撤单成功的记录
	RefundOrder []LinkpayRefundOrder `json:"refund_order,omitempty"`
}

type RespLinkpayOrder struct {
	Response
	Data RespLinkpayOrderDetail `json:"data,omitempty"`
}

/**
订单详情..
交易成功的直接返回.
非成功的.主动确认一次
*/
